Micron Document
Manual: `F0af`_`[The rnsh Utility ↗`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/using.md|anchor=the-rnsh-utility]`_`f

`!rnsh`! is a utility bundled with `F0af`_`[RNS`:/page/wiki.mu`path=RNS]`_`f that facilitates interactive shell sessions over `F0af`_`[Reticulum`:/page/wiki.mu`path=Reticulum_Protocol]`_`f, akin to SSH. It supports full terminal emulation including escape sequences, window resizing, signal forwarding, and piping of standard input, output and error streams.

`B100`F9d9rnsh`f`b can operate in two modes:

• `!listener`! mode – accepts incoming connections
• `!initiator`! mode – connects to a remote listener

Both sides authenticate using Reticulum `F0af`_`[identities`:/page/wiki.mu`path=Identity]`_`f, ensuring that only authorized `F0af`_`[peers`:/page/wiki.mu`path=Peer]`_`f can establish sessions. By default, only whitelisted identities may connect to a listener.

`*`!Note:`! As with SSH, anyone connecting to the listener will have the same permissions as the user running the listener, including potentially root privileges.`*

>>Contents

• `F0af`_`[Usage`#usage]`_`f
• `F0af`_`[See also`#see-also]`_`f

>>Usage

On the remote machine, run in listener mode with `B100`F9d9rnsh --listen --allowed `*<identity>`*`f`b where `B100`F9d9`*<identity>`*`f`b is the identity on the machine you want to connect from. You should see `B100`F9d9rnsh listening for commands on <`*destination`*>`f`b printed to the terminal, showing the `F0af`_`[destination`:/page/wiki.mu`path=Destination]`_`f of the listener.

On the local machine, run in initiator mode with `B100`F9d9rnsh `*<destination>`*`f`b to connect to the remote machine. If the local machine has the specified `B100`F9d9`*<identity>`*`f`b, the connection should be successful.

For more examples, see Usage Examples in the manual.

>>See also

• `F0af`_`[rncp`:/page/wiki.mu`path=Rncp]`_`f
• `F0af`_`[rnx`:/page/wiki.mu`path=Rnx]`_`f

>>RNS utilities

`B100`F9d9`F0af`_`[rncp`:/page/wiki.mu`path=Rncp]`_`f`f`b • `B100`F9d9`F0af`_`[rngit`:/page/wiki.mu`path=Rngit]`_`f`f`b • `B100`F9d9`F0af`_`[rnid`:/page/wiki.mu`path=Rnid]`_`f`f`b • `B100`F9d9rnir`f`b • `B100`F9d9`F0af`_`[rnodeconf`:/page/wiki.mu`path=Rnodeconf]`_`f`f`b • `B100`F9d9`F0af`_`[rnpath`:/page/wiki.mu`path=Rnpath]`_`f`f`b • `B100`F9d9rnpkg`f`b • `B100`F9d9`F0af`_`[rnprobe`:/page/wiki.mu`path=Rnprobe]`_`f`f`b • `B100`F9d9rnsh`f`b • `B100`F9d9`F0af`_`[rnstatus`:/page/wiki.mu`path=Rnstatus]`_`f`f`b • `B100`F9d9`F0af`_`[rnx`:/page/wiki.mu`path=Rnx]`_`f`f`b